From fa114e8cb13b427eb7f82e19e8d4615b8113eaf7 Mon Sep 17 00:00:00 2001 From: Boris Ostrovsky Date: Fri, 7 Oct 2011 10:32:15 +0200 Subject: [PATCH] x86/AMD: Do not enable ARAT feature on AMD processors below family 0x12 Determining whether an AMD processor is affected by erratum 400 may have some corner cases and handling these cases is somewhat complicated. In the interest of simplicity we won't claim ARAT support on processor families below 0x12. Mirrors Linux commit e9cdd343a5e42c43bcda01e609fa23089e026470 Signed-off-by: Boris Ostrovsky Committed-by: Jan Beulich --- xen/arch/x86/cpu/amd.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c index 6849d6a4db..3750c7a9de 100644 --- a/xen/arch/x86/cpu/amd.c +++ b/xen/arch/x86/cpu/amd.c @@ -495,8 +495,11 @@ static void __devinit init_amd(struct cpuinfo_x86 *c) } #endif - /* As a rule processors have APIC timer running in deep C states */ - if (c->x86 > 0xf && !cpu_has_amd_erratum(c, AMD_ERRATUM_400)) + /* + * Family 0x12 and above processors have APIC timer + * running in deep C states. + */ + if (c->x86 > 0x11) set_bit(X86_FEATURE_ARAT, c->x86_capability); if (cpuid_edx(0x80000007) & (1 << 10)) { -- 2.30.2